unity资源管理方案 |
您所在的位置:网站首页 › unity 资源管理异步加载框架 › unity资源管理方案 |
文章目录
前言一、什么是YooAsset二、使用步骤1.导入插件2.配置文件3.资源打包策略4.资源打包5.资源加载
总结
前言
我们在开发项目时,会发现资源管理模块往往在项目架构中扮演着重要的角色,而且一个游戏的流畅性和内存方面的性能优化,往往也能看到资源管理的影子,所以一个优秀强大的资源管理方案对一个项目开发者来说是一个强大的轮子。 一、什么是YooAssetYooAsset是一套用于Unity3D的资源管理系统,它在AssetBundle资源管理上非常强大,拥有灵活强大的打包方式和高效率分布式加载,而且针对资源热更新也有成熟的解决方案,可对项目各种使用场景都有强大的支持能力。 下载地址在文末。 二、使用步骤 1.导入插件参考官方文档的导入方式 通过右键创建配置文件(Project窗体内右键 -> Create -> YooAsset -> Create Setting),配置中第二个选项Default Yoo Folder Name表示为资源打包后保存在常态化路径下的文件夹名称,可以自定义修改,其他的不需要修改。 3.资源打包策略详细说明看官方文档 创建打包策略配置文件,顶部扩展菜单栏YooAsset/AssetBundleCollector 详细说明参考官方文档 资源构建,顶部扩展菜单栏YooAsset/AssetBundleBuilder 详细说明参考官方文档 初始化资源包,此步骤是后续所有资源加载的基础,必须保持此步骤成功,才能进行资源加载 public void InitPackage() { YooAssets.Initialize(); // 创建默认的资源包 string packageName = "DefaultPackage"; _package = YooAssets.TryGetPackage(packageName); if (_package == null) { _package = YooAssets.CreatePackage(packageName); //创建资源包初始化参数(用来定义资源路径) _async = _package.InitializeAsync(GetInitializeParameters()); _async.Completed += OnCompleted; YooAssets.SetDefaultPackage(_package); } } //创建资源包初始化参数(用来定义资源路径) private InitializeParameters GetInitializeParameters() { //离线路径 return new OfflinePlayModeParameters(); } private async void OnCompleted(AsyncOperationBase obj) { Debug.Log("资源包加载完成!!"); //资源包加载完毕,开始加载资源,location为寻址路径Group名称+“_”+资源名称,如果没有开启寻址,location即为完整素材路径 var handler= _package.LoadAssetAsync("Prefabs_3Seat"); await handler.Task; var go = handler.AssetObject as GameObject; go=Instantiate(go); go.transform.SetPositionAndRotation(Vector3.zero, Quaternion.identity); }加载成功!! 上文描述的是一个YooAsset插件最基础的用法,YooAsset在具体的项目还需要进行功能封装,其中同步加载和异步加载在不同场景中的应用也要根据具体情况而定,插件功能非常强大,有兴趣的可以自行探索。 【官方文档】 【下载地址】 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |